home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 8: LINUX Games
/
Linux Cubed Series 8 - LINUX Games.iso
/
games
/
muds
/
pennmush.000
/
pennmush-1.50-p8-linux.tar
/
pennmush
/
CHANGES-2
< prev
next >
Wrap
Text File
|
1993-01-15
|
12KB
|
201 lines
This version of code is based on the PernMUSH 1.15 code, formerly maintained
by Moonchilde (JT Traub, jt1o@andrew.cmu.edu). It has been heavily modified
by me in an attempt to increase compatibility with TinyMUSH 2.0 and to add
many features. The file which follows is a detailed log of the changes.
This file is current through Release level 1.17 Gamma. Update changes are
numbered 1.17.01, 1.17.02, etc. The list of update changes in this file
are compressed into one long list, per major version. This file goes from
version 1.16 on; prior changes done by Moonchilde can be found in the file
CHANGES-1. -- Amberyl.
------------------------------------------------------------------------------
January 14, 1992 -- Lydia Leong (lwl@eniac.seas.upenn.edu) Release level 1.16
-- Probable last release of the PernMUSH code. The 1.x code family will
be maintained by T'nor, and will be known as SC-MUSH 1.0. That code
is based on PernMUSH 1.15, although it incorporates most of the features
in this release. A similar but different code, which diverged from the
main PernMUSH line at version 1.13, is Spellbound MUSH 1.0
-- New functions
* CAPSTR() -- returns a string with the first character capitalized
* FLIP() -- reverses a string
* HASFLAG() -- checks if an object has a certain flag
* LCSTR() -- returns a string all in lowercase
* LNUM() -- creates a number list (i.e. LNUM(4) outputs 0 1 2 3)
* NEARBY() -- checks to see if two objects are "nearby" each other
* UCSTR() -- returns a string all in uppercase
* From the 2.0 code:
DIST2D() and DIST3D() -- returns the distance between points
WORDPOS() -- returns the word number a character position occurs
* LWHO() -- returns a list of connected players' dbrefs. This function
courtesy of Tim Poe (raven@ccwf.cc.utexas.edu)
-- New flags
* IMMORTAL -- wiz-settable flag which prevents objects from being killed
* NO_TEL -- prevents teleports from a room. Useful for puzzles.
* SAFE -- prevents destruction of an object.
* SUSPECT -- wiz-settable flag which reports the connects, disconnects,
name changes, kills, and attempted kills from a suspect player.
* TERSE -- suppresses room descriptions and succ/fail messages for
objects with this flag. Useful for moving through areas quickly.
-- New commands
* @nuke -- overrides the SAFE flag.
* @lemit -- "location emit" which sends a message to the outermost
container (always a room) of an object.
* @wallpose and @wallemit -- allow poses and emits in walls. The format
of @walls has been changed to prepend "Announcement:" to the message.
@wallpose may be abbreviated to "@wall :<pose>"
* @decompile -- dumps the sequence of commands needed to create an object.
* @dolist -- courtesy of Tim Poe (raven@ccwf.cc.utexas.edu - thanks!)
Repeats commands for a list (see the help for details).
-- New features
* @move/@omove/@amove -- attributes executed whenever an object moves.
* Enter locks -- objects now have a separate lock which governs whether
or not the object maybe entered. The ENTER_OK flag overrides the
lock. The @efail/@oefail/@aefail attributes are executed if the
lock is not passed. These locks are controlled by @elock/@eunlock.
* Page locks -- players have a page lock. If a target player is pagelocked
against his pager, he is treated as if he were HAVEN to that player.
* Page return -- an @idle message is automatically page-returned to a
successful page. If a player is HAVEN or his pagelock failed, his
@haven message is sent. If a player is not connected, his @away
message is sent.
* Enter/leave aliases -- objects now have @ealias and @lalias attributes
which do the obvious. So you can have "sit down" instead of
"enter chair" and "stand up" instead of "leave", etc.
* Global commands -- objects and exits in a Master Room are treated as
global. This is compile-time configurable.
* Lastsite attribute -- keeps track of site player last connected from.
-- Fixes and changes to old commands
* Whisper-pose -- "whisper <person>=:<pose>" now works.
* @ps -- the number of items in the queue is now counted. @ps count"
displays just the totals.
* @halt -- fixed to allow wizards to do "@halt <player>", and to allow
"@halt <object>" to be used as an alias for "@set <object>=HALT".
* A bunch of fixes to quota
Fixed @quota so it no longer crashes the MUSH. (Bleah!)
Fixed @clone so it now checks quotas.
Rewrote the help (it was inaccurate)
* Fixed some minor screwups in ROYALTY, and changed it to allow wizards to
set players royal, and royal players to set their objects royal.
Did some cleanup work on "do_examine" and related functions so
examine for ROYALTY actually works. (Grrrr.)
* Did some cleanup on "kill", fixing some bugs. @death/@odeath/@adeath
now works properly.
* Added a "nearby" function to predicates.c which checks if two objects
are near each other. Fixed LOC() so it works the way the help says.
* Added a "find_flag" function to predicates.c which compares player
input to the flag list and comes up with a match. Rewrote "do_set"
to use this (the new HASFLAG() function also uses it).
* can't @destroy master room, need to use @nuke to destroy players
* NO_TEL now checks "absolute" location for NO_TEL flag
* %p, %s, and %o now return "its/it/it" for no-gender objects
* @boot now shows that someone kicked you off
* @shutdown notifies all players that a wizard did a @shutdown
* @toad command must be typed in full
* @emit and @oemit no longer show "You emit/You oemit" to the player
giving the command, but just echo the message
* Bug fix to do_set so flags which are different for different types
don't clobber each other
* Various minor bugfixes
* "help @-commands" split into several sections. Some cleanup of help.
-- See "help" for details. If you have problems, contact me (Amberyl)
or T'nor (raven@ccwf.cc.utexas.edu) on the MUDs or via email.
----------------------------------------------------------------------------
January 31, 1992 -- Lydia Leong (lwl@eniac.seas.upenn.edu) Release level 1.17
-- New functions
* ART() -- returns the appropriate article "a" or "an"
* MAIL() -- function to return a mail message
* MAX() -- returns largest number in list of up to 10 arguments
* MIN() -- returns smallest number in list of up to 10 arguments
* OBJ() -- perfoms objective pronoun substitution
* POSS() -- performs possessive pronoun substitution
* RNUM() -- like NUM(), but on a remote room. Only defined if the
master room is configured (for use with globals)
* SUBJ() -- performs subjective pronoun substitution
* TYPE() -- returns the type of an object
* XGET() -- works like get(), but can have nested arguments, and uses
a comma instead of a slash to separate its arguments. Basically
this is just a nasty hack to overcome a lousy parser
-- New flags
* INHERIT -- restricts @force/@set/@trigger (read the help)
* VERBOSE -- prints an object's command before executing it
-- New commands
* @config: shows configuration parameters for the MUSH
* DOING: for wizards, gives the player WHO list. @doing messages do not
show up in wizard WHO, so wizzes don't get spammed by the list.
* @mail: hardcoded mail, courtesy of Joarm/Spellbound MUSH
* @poll: sets the @doing poll
* @rwall/@rwallpose/@rwallemit: allows Royalty to broadcast to wizards
and royalty, in a fashion similar to @wizwall
-- New features
* Uselocks implemented as a superset of pagelocks. The commands have been
changed to @ulock/@uunlock. A uselock applies to "use" of the object,
as well as triggering $commands on it
* @use/@ouse/@ause, triggered by "use", added
* Old "@use" command changed to "@use-does", for backward compatibility
* Inactivity timeout, compile-time settable
* Guest character, who cannot change name or password, or build
This is compile-time configurable
* Added %b and %t substitutions (blank space and tab)
* Attributes may have a ^ pattern similar to $command patterns. These
act like multiple @listen patterns and are triggered under the same
criteria as an ahear. For example, @va object=^* has arrived.:"Hi.
would match "Amberyl has arrived." and the object would say Hi.
These are only matched if no @listen exists.
* added announce.c to the distribution package
-- Changes to existing commands
* test_set changed to allow '&' to be used for user-defined attributes,
for compatibility wth 2.0 code
* @decompile now distinguishes between normal and user-defined attributes,
and uses '&' for user-defined
* @search now does a count of objects.
* changed enterlocks so that to enter an object, you must both pass
the lock and the object must be enter_ok
* @pemit and whisper now match objects in the player's possession as
well as the player's container.
* need to use @nuke to destroy a wizard object.
* @doing and @poll now tell you how many characters got truncated from
your message, if it was too long.
* @clone will now do exits
* if a @listen is not found, the game will now check for ^ patterns
in attributes, which act like an ahear.
-- Fixes and other sundries
* fixed a bug which caused a coredump if you attempted to look at a
TRANSPARENT exit linked to *HOME*.
* home(exit) now returns that exit's source room
* examine now reports an exit's source
* exits linked to home now send an object home
* new matching functions for remote rooms
* successfully teleporting something to an exit no longer shows that
stupid "imposes his will on yours" message
* fix to ucstr and lcstr to add terminating '\0' (stupid mistake)
* safe_tel fixed to avoid conflict between BUILDER and KEY, and to avoid
sending STICKY objects home if their home is the teleporting object
* @boot fixed so wizards can't boot themselves.
* THING_SAFE, PLAYER_SUSPECT, and ROOM_NO_TEL moved from 1000000 to
4000000, for compatibility with SC-1.0 code.
* changed do_examine to match exits first, for 2.0 consistency,
changing it back from an earlier fix. Note that 2.0 plans to
change the order in the future. This makes examine consistent
with the other commands which do name-matching.
* changed do_destroy to always notify player when room is destroyed
* added a "flag" to unparse_boolexp, so that you can get a "basic" unparse:
only dbrefs and tokens (i.e. exactly what you'd need to type to lock
that object to that key). Added the ability to decompile locks,
and changed LOCK() to use unparse_lock instead of unparse_boolexp
* @chown now removes the Royalty flag.
* abilities of royalty expanded to be consistent. They have full wizprivs
wrt. examining and teleporting but cannot change things - they see
the wizard WHO (since they can examine a player for Lastsite and
location anyway), use LWHO(), GET(), V(), LCON(), etc. as if they
were wizards. New macro added "Hasprivs", which is true for royalty
or wizard or God, getting rid of most of the #ifdef ROYALTY_FLAGs
in the code.
* @newpassword, @boot, @nukes of players, @toad, @pcreate, and all
all commands from SUSPECT players are logged
* Log highlights wizard forces of objects they don't own
* PUPPET is now THING_PUPPET
* global exits, ealiases, and laliases can be more than one word long
* NO_TEL is now determined by the location of the victim not the
location of the player trying to do the teleport